package pattern4.promise.demo1callable;

import utils.PrintUtil;

import java.util.concurrent.*;

/**
 * @创建人 liweijia
 * @创建时间 2022/7/24
 * @描述 程序的主要用途
 */
public class Test2 {
    public static void main(String[] args) throws InterruptedException, ExecutionException {
        // 定义任务
        MyTask myTask = new MyTask();
        FutureTask<String> futureTask = new FutureTask<>(myTask);

        // 执行
        ExecutorService executorService = Executors.newFixedThreadPool(1);
        executorService.submit(futureTask);
        executorService.shutdown();

        // 等待时间（做其他逻辑）
        Thread.sleep(500);

        // 拿结果
        PrintUtil.print("准备开始取子任务结果");
        PrintUtil.print("子任务执行状态:" + futureTask.isDone());
        PrintUtil.print("结果为:" + futureTask.get());

    }
}
